﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KhachSan.Process.Public
{
    class TestContrainKeys
    {
        /// <summary>
        /// kiểm tra khóa ngoại khi xóa dữ liệu
        /// >Kết quả trả về là 1 nếu có tồn tại dữ liệu tại khóa ngoại
        /// Kết quả trả về là 0 nếu không tồn tại khóa ngoại, có thể xóa được
        /// /// Kết quả trả về là -1 nếu có lỗi
        /// </summary>
        /// <param name="tenKhoa"></param>
        /// <param name="khoaChinh"></param>
        /// <param name="danhSachBangLienQuan"></param>
        /// <returns
        /// </returns>
        public static int KiemTraKhoaNgoai(string tenKhoa, string khoaChinh, List<string> danhSachBangLienQuan)
        {
            int KetQua = 1;
            string lenh = "if(exists()";
            for (int i = 0; i < danhSachBangLienQuan.Count; i++)
            {
                if (i > 0)
                    lenh += " or exists";
                lenh += "( select * from " + danhSachBangLienQuan[i] + " where " + tenKhoa + "=" + khoaChinh + ")";
            }
            if (lenh == "if(exists")
                KetQua = -1;
            else
            {
                lenh += ")";          
                XLDuLieu.ExecuteScalarNumber(lenh, out KetQua);
                return KetQua;
            }
            return -1;
        }
        public static bool KiemTraThemTrungKhoa()
        {
            bool result = true;

            return result;
        }
    }
}
